package cl.tienda.control;

import java.io.IOException;
import java.util.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Vector;
import cl.tienda.modelo.Producto;
import cl.tienda.modelo.Usuario;

/**
 *
 * @author Marcoltx and AndrsKaiser
 */
@SuppressWarnings("UseOfObsoleteCollectionType")
public class ServletInicioSesion extends HttpServlet {

   private Vector<Usuario> usuarios;
   private Vector<Producto> productos;
   
   public void inicializarUsuarios()
   {
       this.usuarios= new Vector<Usuario>();
       this.usuarios.add(new Usuario(1, "Rodrigo", "Ruiz","rruizh","1234", "cliente"));
       this.usuarios.add(new Usuario(1, "Rene", "Valderas","rvalderas","1234", "empleado"));
   }
   
    public void inicializarProductos()
    {
        this.productos= new Vector<Producto>();
        Producto prod1=new Producto(1,"Televidor Samsung",10,12);
        Producto prod2=new Producto(2,"Usb Kingston de 2Gb",20,40);
        Producto prod3=new Producto(3,"Laptop HP DV7000",15,7899);
        this.productos.add(prod1);
        this.productos.add(prod2);
        this.productos.add(prod3);
    }
    @Override
    public void init(ServletConfig Config) throws ServletException{
        this.inicializarUsuarios();
        this.inicializarProductos();
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        String usuario = request.getParameter("txtUsuario");
        String clave = request.getParameter("txtClave");
        String direccion = "Error.html";
        
        HttpSession sesion = request.getSession();
        if (sesion.isNew()){
            sesion = request.getSession(true);
            sesion.setAttribute("usuarios", usuarios);
            sesion.setAttribute("productos", productos);
        } else {
            usuarios = (Vector<Usuario>) sesion.getAttribute("usuarios");
            productos = (Vector<Producto>) sesion.getAttribute("productos");
        }
        
        for(int i=0; i <usuarios.size(); i++){
            if((usuarios.get(i).getUsuario().compareTo(usuario)== 0)&&
                    (usuarios.get(i).getClave().compareTo(clave)== 0)) {
                sesion.setAttribute("usuarioInicio", usuarios.get(i));
                if (usuarios.get(i).getPrivilegio().compareTo("cliente")== 0){
                    direccion="ServletCConProd";
                } else {
                    direccion="ServletEConProd";
                }
                break;
                }
            }
            response.sendRedirect(direccion);
        }
    @Override
    public String getServletInfo(){
        return "Short description";
    }
}
    
